package hu.diploma.core.util;


public class VOTransferUtil {

	// public static BaseVo entityToVo(BaseEntity entity) throws Exception {
	// Field[] fields = entity.getClass().getDeclaredFields();
	// Object target = Class.forName("hu.diploma.VO." + entity.getClass().getSimpleName() + "Vo").newInstance();
	//
	// for (Field field : fields) {
	// // System.out.println(field.getName() + " " + field.getType());
	// // System.out.println("field " + field.getName() + " " + field.getType().getName());
	// try {
	// if (field.getType().getName().equals("java.util.List")) {
	// // System.out.println("List");
	// List<Object> list = (List<Object>) ReflectionUtil.getPatternValue(entity, field.getName());
	// if (list.size() != 0) {
	// Class genericType = list.get(0).getClass();
	// List<BaseVo> set = new LinkedList<BaseVo>();
	// Class generic = Class.forName("hu.diploma.VO." + genericType.getSimpleName() + "Vo");
	//
	// for (Object object : (List<Object>) ReflectionUtil.getPatternValue(entity, field.getName())) {
	//
	// set.add(VOTransferUtil.entityToVo((BaseEntity) object));
	// }
	// ReflectionUtil.setPatternValue(target, field.getName(), set);
	// }
	// } else {
	// ReflectionUtil.setPatternValue(target, field.getName(),
	// ReflectionUtil.getPatternValue(entity, field.getName()));
	// }
	//
	// } catch (Exception e) {
	// System.err.println(e);
	//
	// }
	//
	// }
	// return (BaseVo) target;
	// }
	//
	// public static BaseEntity VOToEntity(BaseVo baseVo, boolean flag) throws Exception {
	// Field[] fields = baseVo.getClass().getDeclaredFields();
	//
	// String simpleName = baseVo.getClass().getSimpleName();
	//
	// Object target = Class.forName("hu.diploma.entity." + simpleName.substring(0, simpleName.length() - 2))
	// .newInstance();
	//
	// for (Field field : fields) {
	// System.out.println(field.getName() + " " + field.getType());
	// Object asd = null;
	// try {
	// asd = field.getType().newInstance();
	// } catch (Exception e) {
	//
	// }
	//
	// try {
	// if (field.getType().getName().equals("java.util.List") && flag) {
	//
	// List<Object> list = (List<Object>) ReflectionUtil.getPatternValue(baseVo, field.getName());
	// if (list.size() != 0) {
	// Class genericType = list.get(0).getClass();
	// List<BaseEntity> set = new LinkedList<BaseEntity>();
	// simpleName = genericType.getSimpleName();
	// String substring = simpleName.substring(0, simpleName.length() - 2);
	//
	// Class generic = Class.forName("hu.diploma.entity." + substring);
	// for (Object object : (List<Object>) ReflectionUtil.getPatternValue(baseVo, field.getName())) {
	//
	// set.add(VOTransferUtil.VOToEntity((BaseVo) object));
	// }
	// ReflectionUtil.setPatternValue(target, field.getName(), set);
	// }
	// } else if (asd instanceof BaseVo) {
	// System.out.println("ssssssssssssssssssssssssssssasddddddddddddddsadf");
	// Class genericType = field.getType();
	// List<BaseEntity> set = new LinkedList<BaseEntity>();
	// simpleName = genericType.getSimpleName();
	// String substring = simpleName.substring(0, simpleName.length() - 2);
	//
	// Class generic = Class.forName("hu.diploma.entity." + substring);
	//
	// ReflectionUtil
	// .setPatternValue(
	// target,
	// field.getName(),
	// VOTransferUtil.VOToEntity((BaseVo) ReflectionUtil.getPatternValue(baseVo,
	// field.getName())));
	// } else {
	//
	// ReflectionUtil.setPatternValue(target, field.getName(),
	// ReflectionUtil.getPatternValue(baseVo, field.getName()));
	// }
	//
	// } catch (Exception e) {
	// System.err.println(e);
	//
	// }
	//
	// }
	// return (BaseEntity) target;
	// }
	//
	// public static List<BaseEntity> VOToEntity(List<BaseVo> baseVos) throws Exception {
	// List<BaseEntity> users = new LinkedList<BaseEntity>();
	// for (BaseVo baseVo : baseVos) {
	// users.add(VOTransferUtil.VOToEntity(baseVo));
	// }
	// return users;
	// }
	//
	// public static List<BaseVo> entityToVo(List<BaseEntity> users) throws Exception {
	// List<BaseVo> userVos = new LinkedList<BaseVo>();
	// for (BaseEntity user : users) {
	// userVos.add(VOTransferUtil.entityToVo(user));
	// }
	// return userVos;
	// }
}
